@echo off
REM 设置UTF-8编码环境
chcp 65001 >nul 2>&1
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8
set MAVEN_OPTS=-Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8

echo 正在使用UTF-8编码运行程序...
echo ========================================

REM 检查参数
if "%~1"=="" (
    echo 用法: %0 "主类名" [参数...]
    echo 示例: %0 "com.jiaying.sync.KafkaListener"
    echo 示例: %0 "com.jiaying.sync.DataInsertionTest" 1000 4 100
    exit /b 1
)

REM 设置Maven设置文件路径
set MAVEN_SETTINGS=D:\tools\settings-chenss.xml

REM 构建完整的命令
set MAIN_CLASS=%~1
shift
set PROGRAM_ARGS=
:parse_args
if "%~1"=="" goto run_program
set PROGRAM_ARGS=%PROGRAM_ARGS% %~1
shift
goto parse_args

:run_program
echo 主类: %MAIN_CLASS%
if not "%PROGRAM_ARGS%"=="" echo 参数: %PROGRAM_ARGS%
echo.

REM 使用Maven exec插件运行程序，确保编码正确
call mvn -s "%MAVEN_SETTINGS%" exec:java -Dexec.mainClass="%MAIN_CLASS%" -Dexec.args="%PROGRAM_ARGS%" -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8

if %ERRORLEVEL% EQU 0 (
    echo.
    echo 程序执行成功！
) else (
    echo.
    echo 程序执行失败，错误代码: %ERRORLEVEL%
)

pause